//go:build wireinject

// 让wire来注入这里的代码
package wire

import (
	"github.com/google/wire"
	"syntax/wire/repository"
	"syntax/wire/repository/dao"
)

func InitRepository() *repository.UserRepository {
	// 我只在这里声明我要用到的各种东西，但是具体如何构造，如何编排！
	// 这个方法里面传入各个组件的初始化方法
	wire.Build(repository.NewUserRepository,
		dao.NewUserDao, InitDB)
	return new(repository.UserRepository)
}
